草庐IT

C++ std::unordered_map 复杂度

全部标签

c++ - std::string 一个容器

std::string是标准c++库中的容器类,仅限于容纳char元素吗? 最佳答案 它是std::basic_string的类型定义,实际上。std::basic_string是专门为字符串操作设计的容器类。此容器也可用于宽字符(wchar_t);对于这种情况,它的typedef将是wstring. 关于c++-std::string一个容器,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/ques

c++ - memset 导致 std::string 赋值崩溃

我有适用于Windows的代码,但现在我正在移植到MAC,使用Xcode3.2.5C/C++编译器版本GCC4.2,它崩溃了。我已将其缩小为memset调用。如果我注释掉memset它会起作用,如果我把它放回代码中就会崩溃。我的头文件中有一个看起来像这样的结构:typedefstruct{intdeviceCount;struct{#defineMAX_DEVICE_ID256#defineMAX_DEVICE_ENTRIES10std::stringdeviceId;//DevicenametoOpenTransportTypeeTransportType;}deviceNodes[

c++ - std::vector<A> error C2582: 'operator =' 函数在

我使用简单的vectorpush_back到类型A的对象并收到此错误,这是我的代码:classA{public:A(inta,intb,intc);};#include"A.h"................std::vector*vec_objects=newstd::vector();while(....somecondition...){Aa(1,2,3)vec_objects->push_back(a);}出现这个错误:c:\programfiles\microsoftvisualstudio9.0\vc\include\xutility(3159):errorC2582:'

c++ - 从整数值返回固定长度的 std::string

问题->将固定长度的字符串返回给std::string*。目标机器->Fedora11。我必须派生一个函数,它接受整数值并将固定长度的字符串返回到字符串指针;例如->int值在0到-127范围内所以对于int值0->它应该显示000对于值-9->它应该返回-009对于值来说-50->它应该返回-050对于值来说-110->它应该返回-110所以简而言之,所有情况下的长度都应该相同。我做了什么:我已经根据如下所示的要求定义了函数。我需要帮助的地方:我派生了一个函数,但我不确定这是否是正确的方法。当我在Windows端的独立系统上测试它时,exe有时会停止工作,但是当我将此功能包含在Lin

c++ - vector 、迭代器和 std::find

有没有办法在不同的vector中使用不同类型的迭代器?或者,是否有一个函数将vector中元素的位置作为整数返回?std::vector::iteratorit;//Iterator//monsterQueueisavectorit=std::find(bot.monsterQueue.begin(),bot.monsterQueue.end(),object);//Checkdowehavetheobjectinthequeueif(it!=bot.monsterQueue.end())//Ifwedohaveit{bot.monsterDists.at(it)=mobDist;//

c++ - 我可以在 STL 的 map 中使用 vector 吗?

我可以声明这样的map吗map>mymap;我认为它是适用的。然而,它显示不是。我试过了map*>mymap;然后就OK了这是什么规则? 最佳答案 你需要一个额外的空间:map>mymap;^seetheextraspace没有额外的空间,>>被解析为右移运算符。在C++0x中修改了规则,不再需要额外的空间。一些编译器(例如VisualC++2008及更高版本)已经不需要额外的空间。 关于c++-我可以在STL的map中使用vector吗?,我们在StackOverflow上找到一个类似

c++ - G++ undefined reference std::

我一直致力于将我的一款游戏移植到Linux,但似乎无法弄清楚我收到的错误的原因。该游戏最初是用VisualStudio2010编写的,我已经提取了所有需要的内容(header、cpp、纹理)并正在尝试编译。使用g++-c-oexampleFile.oexampleFile.cpp编译文件工作正常,没有任何错误。然而,在链接时,我遇到了数百个关于std函数的错误,例如:Bmp.o:Infunction`Image::Bmp::Bmp()':Bmp.cpp:(.text+0x58):undefinedreferenceto`std::allocator::allocator()'Bmp.c

c++ - 为什么这个 map<int, auto> 是不允许的?

我正在尝试用C++实现异构映射。我知道之前已经讨论过这个问题,但我想知道为什么不允许以下内容:mapmyMap;有什么方法可以让我在不借助(void*)指针的情况下简单地插入map?我在考虑最终能够做这样的事情:vectorv;myMap.insert(make_pair(1,12334));myMap.insert(make_pair)(2,v));这可能吗?还是我的努力是徒劳的?谢谢 最佳答案 auto并不意味着“这可以是任何类型”。它是一个特殊的关键字,只能用于声明变量,其含义是“这个变量的类型与用来初始化它的表达式的类型相同

C++ std::enable_if

我对std::enable_if很陌生,想知道如何使用它。我有一个模板类:templateclassfoo{}现在我只想在a+b等于10时实例化它。我可以使用std::enable_if使这成为可能吗?第二个问题:如果我在类foo中有一个成员templateclassfoo{intc;}我只想在什么时候有ca=5.我如何使用std::enable_if做到这一点?这是使用std::enable_if的正确情况吗? 最佳答案 template::type>classfoo{};这应该可以完成工作;只需确保在实例化模板时永远不会显式提供

策略复杂度过高,管理难度大,且难以维护,影响安全和性能表现

防火墙策略管理:策略复杂度、管理难度和维护挑战问题描述防火墙是保护网络安全的重要设备,然而其策略管理和策略分析方面的问题可能导致安全性和性能表现的下降。策略复杂度过高,管理难度大,且难以维护是当前防火墙面临的主要问题。这些问题可能会导致以下几种情况的发生:1.**安全问题:**高复杂的策略可能增加黑客攻击的机会。攻击者可以利用这些策略绕过网络防火墙的限制进入内部网络。因此,我们需要确保策略简单明了并易于理解。2.**性能影响:**过于复杂的策略可能导致防火墙的响应速度变慢,从而导致整体性能受到影响。为了解决这个问题,我们需要优化策略,减少不必要的复杂性。3.**难以维护:**复杂的策略可能导致